home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 March
/
EnigmA AMIGA RUN 05 (1996)(G.R. Edizioni)(IT)[!][issue 1996-03][Skylink CD IV].iso
/
docs
/
corsoguide
/
menustrutt-19.txt
< prev
next >
Wrap
Text File
|
1996-02-22
|
4KB
|
132 lines
Le strutture per i menù
Le strutture utilizzate per definire un menù sono due: Menu e MenuItem; la
prima serve per definire i titoli dei menù, la seconda serve per definire
un'opzione del menù.
struct Menu
{
struct Menu *NextMenu;
WORD LeftEdge, TopEdge;
WORD Width, Height;
UWORD Flags;
BYTE *MenuName;
struct MenuItem *FirstItem;
WORD JazzX, JazzY, BeatX, BeatY;
};
NextMenu
Puntatore al prossimo titolo del menù.
LeftEdge, TopEdge, Width, Height
Posizione e grandezza del box di selezione del titolo del menù.
Flags
- MENUENABLED
se presente indica che questo menù è abilitato, altrimenti risulta
disabilitato; in tal caso le opzioni e le sotto-opzioni del menù saranno
mascherati e l'utente non potrà selezionarli.
- MIDRAWN
questo flag indica che il menù è correntemente visualizzato all'utente.
MenuName
Puntatore alla stringa che verrà visualizzata come titolo del menù.
FirstItem
Questo punta alla struttura MenuItem indicante la prima opzione di questo
menù.
JazzX, JazzY, BeatX, BeatY
Valori utilizzati solo dal sistema
struct MenuItem
{
struct MenuItem *NextItem;
WORD LeftEdge, TopEdge;
WORD Width, Height;
UWORD Flags;
LONG MutualExclude;
APTR ItemFill;
APTR SelectFill;
BYTE Command;
struct MenuItem *SubItem;
UWORD NextSelect;
};
NextItem
Puntatore al prossimo MenuItem della lista delle opzioni.
LeftEdge, TopEdge, Width, Height
Posizione e grandezza del box di selezione dell'opzione.
Flags
- CHECKIT
indica al sistema che questa opzione è un attributo e che deve visualizzare
il checkmark se il flag CHECKED è impostato
- CHECKED
se CHECKIT è impostato, indica che questa opzione attributo è selezionata
- ITEMTEXT
se questo flag è impostato, indica che i campi ItemFill e SelectFill
contengono puntatori a strutture IntuiText per il rendering dell'opzione;
altrimenti contengono puntatori a strutture Image
- COMMSEQ
se questo flag è settatto, l'opzione contiene una scorciatoia
- MENUTOGGLE
usato insieme a CHECKIT; se questo flag è impostato l'opzione può essere
deselezionata ricliccandola
- ITEMENABLED
se impostato indica che l'opzione è abilitata alla selezione, altrimenti è
disabilitata
- HIGHFLAGS
i flag descritti qui di seguito, indicano il tipo di illuminazione:
- HIGHCOMP
si effettua il complemento di tutti i bits del box di selezione
- HIGHBOX
disegna un rettangolo attorno all'opzione
- HIGHIMAGE
isualizza un testo o un immagine alternativa (dipende da ITEMTEXT)
- HIGHNONE
nessuna illuminazione
i seguenti flags sono utilizzati solo da intuition:
- ISDRAWN
Intuition imposta questo flag quando il sotto-menù di questa opzione è
visualizzato
- HIGHITEM
Intuition imposta questo flag quando l'opzione è illuminata.
MutualExclude
Questo valore indica quale altre opzioni attrributo del menù devono essere
mutualmente escluse dalla selezione dell'opzione; ogni bit di questa LONG
rappresenta un'opzione; le opzioni mutualmente escludibili sono le prime 32
ItemFill
Puntatore ai dati utilizzati per il rendering dell'opzione; nel caso sia
settato il flag ITEMTEXT nel campo Flags questo campo punta ad una struttura
IntuiText, altrimenti punterà ad una struttura Image; attenzione, più
strutture IntuiText (o Image) linkate insieme mediante il campo Next....
verranno visualizzate insieme; questo permette di creare rendering complessi
anche utilizzando semplici testi.
SelectFill
Se il flag HIGHIMAGE è settato nel campo Flags, allora questo campo deve
possedere un puntatore a struttura IntuiText o Image per il rendering nella
fase di illuminazione; se specificato ITEMTEXT nel campo Flags, questo campo
deve puntatore ad una struttura IntuiText, altrimenti deve puntare ad una
struttura Image.
Command
Questo è un valore char che contiene il codice ASCII del tasto di
scorciatoia; tale valore sarà valido se specificato COMMSEQ nel campo Flags;
il tasto verrà visualizzato insieme all'immagine del tasto Amiga sulla
destra dell'opzione.
SubItem
Puntatore alla struttura MenuItem della prima opzione del sottomenù; non
utilizzare questo campo nel caso l'opzione faccia già parte di un sotto-menù,
in tal caso infatti il sistema ignorerà tale campo.
NextSelect
Questo campo è scritto da Intuition per indicare all'applicazione quali sono
gli altri elementi selezionati dall'utente in caso di multi-selezione.